Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Option to disable CResizableLayout::HandleNcCalcSize (help elimin… #20

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Add Option to disable CResizableLayout::HandleNcCalcSize (help elimin… #20

wants to merge 1 commit into from

Conversation

0ric1
Copy link
Contributor

@0ric1 0ric1 commented Sep 3, 2019

…ate flickering), because of e.g. VISTA redraw problems.

…ate flickering), because of e.g. VISTA redraw problems.
@ppescher
Copy link
Owner

ppescher commented Sep 3, 2019

Flickering is not caused by the graphics card, but they way the Windows OS redraws the client area.

HandleNcCalcSize() can avoid flickering, or at least reduce it considerably, if you resize the window by dragging the top or left borders, because by default the client area is copied to the top-left corner and so you would get flickering at the opposite side, even if it does not move in that case.

That fix was useful only for WinXP and Win2000, not sure about Win7 with "old-style" window theme. In modern Windows OSes the window drawing appears to be double-buffered, but I'm not sure exactly which versions and what system/application settings to check at runtime.

@0ric1
Copy link
Contributor Author

0ric1 commented Sep 3, 2019

I added a DISABLE_ELIMINATE_FLICKERING to be able to disable it, because we had redraw problems on Vista when it was enabled - it look good without the HandleNcCalcSize code even on Windows 10.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants